/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Control;

import Entidad.*;
import com.itextpdf.text.*;
import com.itextpdf.text.pdf.PdfPCell;
import com.itextpdf.text.pdf.PdfWriter;
import com.itextpdf.text.pdf.PdfPTable;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.Serializable;
import java.net.MalformedURLException;
import java.util.logging.Level;
import java.util.logging.Logger;
import java.util.List;
import java.io.File;
/**
 *
 * @author dario877
 */
public class Reportes implements Serializable{
    // Se crea el documento
public void reporteUsuarios(List list){
    FileOutputStream ficheroPdf = null;
        try {
            Document documento = new Document();
            
            File file = new  File("ReporteUsuario.pdf");
            if (file.exists()) file.delete();
            
            ficheroPdf = new FileOutputStream("ReporteUsuario.pdf");
            // Se asocia el documento al OutputStream y se indica que el espaciado entre
            // lineas sera de 20. Esta llamada debe hacerse antes de abrir el documento
            PdfWriter.getInstance(documento,ficheroPdf).setInitialLeading(20);
            

            // Se abre el documento.
            documento.open();
            
            Image foto = null;
            try {
                foto = Image.getInstance("MedicionesyMedios_empresa_10946.jpg");
            } catch (BadElementException ex) {
                Logger.getLogger(Reportes.class.getName()).log(Level.SEVERE, null, ex);
            } catch (MalformedURLException ex) {
                Logger.getLogger(Reportes.class.getName()).log(Level.SEVERE, null, ex);
            } catch (IOException ex) {
                Logger.getLogger(Reportes.class.getName()).log(Level.SEVERE, null, ex);
            }
            foto.scaleToFit(70, 70);
            foto.setAlignment(Chunk.ALIGN_TOP);
            foto.setAlignment(Chunk.ALIGN_RIGHT);
            documento.add(foto);
            Paragraph p = new Paragraph("----------------------------------------- Reporte usuario -----------------------------------------");
            p.setAlignment(Chunk.ALIGN_CENTER);
            documento.add(p);
            documento.add(new Paragraph(" "
                    + ""
                    + ""
                    + ""
                    + ""
                    + ""
                    + ""));
//            documento.add(new Paragraph("Reporte usuario",
//                                            FontFactory.getFont("arial",   // fuente
//                                            22,                            // tamaño
//                                            Font.ITALIC,                   // estilo
//                                            BaseColor.MAGENTA)));             // color
            
            
            PdfPTable tabla = new PdfPTable(7);
            PdfPCell celda = new PdfPCell(new Paragraph("Cedula",FontFactory.getFont("arial",10,Font.BOLD,BaseColor.BLACK)));
            
            celda.setBackgroundColor(BaseColor.LIGHT_GRAY);
            celda.setHorizontalAlignment(Element.ALIGN_CENTER);
            celda.setVerticalAlignment(Element.ALIGN_CENTER);
            tabla.addCell(celda); 
            celda = new PdfPCell(new Paragraph ("Contraseña",FontFactory.getFont("arial",10,Font.BOLD,BaseColor.BLACK)));
         
            celda.setBackgroundColor(BaseColor.LIGHT_GRAY);
            celda.setHorizontalAlignment(Element.ALIGN_CENTER);
            celda.setVerticalAlignment(Element.ALIGN_CENTER);
            tabla.addCell(celda);
            celda = new PdfPCell(new Paragraph ("Correo Electronico",FontFactory.getFont("arial",10,Font.BOLD,BaseColor.BLACK)));
         
            celda.setBackgroundColor(BaseColor.LIGHT_GRAY);
            celda.setHorizontalAlignment(Element.ALIGN_CENTER);
            celda.setVerticalAlignment(Element.ALIGN_CENTER);
            tabla.addCell(celda);
            celda = new PdfPCell(new Paragraph ("Fecha Nacimiento",FontFactory.getFont("arial",10,Font.BOLD,BaseColor.BLACK)));
         
            celda.setBackgroundColor(BaseColor.LIGHT_GRAY);
            celda.setHorizontalAlignment(Element.ALIGN_CENTER);
            celda.setVerticalAlignment(Element.ALIGN_CENTER);
            tabla.addCell(celda);
            celda = new PdfPCell(new Paragraph ("Nombre",FontFactory.getFont("arial",10,Font.BOLD,BaseColor.BLACK)));
         
            celda.setBackgroundColor(BaseColor.LIGHT_GRAY);
            celda.setHorizontalAlignment(Element.ALIGN_CENTER);
            celda.setVerticalAlignment(Element.ALIGN_CENTER);
            tabla.addCell(celda);
            celda = new PdfPCell(new Paragraph ("Telefono",FontFactory.getFont("arial",10,Font.BOLD,BaseColor.BLACK)));
         
            celda.setBackgroundColor(BaseColor.LIGHT_GRAY);
            celda.setHorizontalAlignment(Element.ALIGN_CENTER);
            celda.setVerticalAlignment(Element.ALIGN_CENTER);
            tabla.addCell(celda);
            celda = new PdfPCell(new Paragraph ("User",FontFactory.getFont("arial",10,Font.BOLD,BaseColor.BLACK)));
            celda.setBackgroundColor(BaseColor.LIGHT_GRAY);
            celda.setHorizontalAlignment(Element.ALIGN_CENTER);
            celda.setVerticalAlignment(Element.ALIGN_CENTER);
            tabla.addCell(celda);
      
//                    tabla.addCell("Cedula");
//                    tabla.addCell("Contraseña");
//                    tabla.addCell("Correo Electronico");
//                    tabla.addCell("Fecha Nacimiento");
//                    tabla.addCell("Nombre");
//                    tabla.addCell("Telefono");
//                    tabla.addCell("User");
            for (int i = 0; i < list.size(); i++)
            {
                    Usuario usuario = (Usuario) list.get(i);  
                    celda = new PdfPCell(new Paragraph (String.valueOf(usuario.getCedula()),FontFactory.getFont("arial",8)));
                    
                    celda.setHorizontalAlignment(Element.ALIGN_CENTER);
                    celda.setVerticalAlignment(Element.ALIGN_CENTER);
                    tabla.addCell(celda);
                    
                    celda = new PdfPCell(new Paragraph (String.valueOf(usuario.getContraseña()),FontFactory.getFont("arial",8)));
                    
                    celda.setHorizontalAlignment(Element.ALIGN_CENTER);
                    celda.setVerticalAlignment(Element.ALIGN_CENTER);
                    tabla.addCell(celda);
                    
                    celda = new PdfPCell(new Paragraph (String.valueOf(usuario.getCorreoElectronico()),FontFactory.getFont("arial",8)));
                    
                    celda.setHorizontalAlignment(Element.ALIGN_CENTER);
                    celda.setVerticalAlignment(Element.ALIGN_CENTER);
                    tabla.addCell(celda);
                    
                    celda = new PdfPCell(new Paragraph (String.valueOf(usuario.getFechaDeNacimiento()),FontFactory.getFont("arial",8)));
                    
                    celda.setHorizontalAlignment(Element.ALIGN_CENTER);
                    celda.setVerticalAlignment(Element.ALIGN_CENTER);
                    tabla.addCell(celda);
                    
                    celda = new PdfPCell(new Paragraph (usuario.getNombre(),FontFactory.getFont("arial",8)));
                    
                    celda.setHorizontalAlignment(Element.ALIGN_CENTER);
                    celda.setVerticalAlignment(Element.ALIGN_CENTER);
                    tabla.addCell(celda);
                    
                    celda = new PdfPCell(new Paragraph (String.valueOf(usuario.getTelefono()),FontFactory.getFont("arial",8)));
                    
                    celda.setHorizontalAlignment(Element.ALIGN_CENTER);
                    celda.setVerticalAlignment(Element.ALIGN_CENTER);
                    tabla.addCell(celda);
                    
                    celda = new PdfPCell(new Paragraph (usuario.getUser(),FontFactory.getFont("arial",8)));
                    
                    celda.setHorizontalAlignment(Element.ALIGN_CENTER);
                    celda.setVerticalAlignment(Element.ALIGN_CENTER);
                    tabla.addCell(celda);
                    
//                    tabla.addCell(String.valueOf(usuario.getCedula()));
//                    tabla.addCell(usuario.getContraseña());
//                    tabla.addCell(usuario.getCorreoElectronico());
//                    tabla.addCell(String.valueOf(usuario.getFechaDeNacimiento()));
//                    tabla.addCell(usuario.getNombre());
//                    tabla.addCell(String.valueOf(usuario.getTelefono()));
//                    tabla.addCell(usuario.getUser());
            }
            documento.add(tabla);
            documento.close();
        } catch (DocumentException ex) {
            Logger.getLogger(Reportes.class.getName()).log(Level.SEVERE, null, ex);
        } catch (FileNotFoundException ex) {
            Logger.getLogger(Reportes.class.getName()).log(Level.SEVERE, null, ex);
        } 
}

public void reporteMonRadio(List list){
    FileOutputStream ficheroPdf = null;
        try {
            Document documento = new Document();
            
            File file = new  File("ReporteMonitoreosRadio.pdf");
            if (file.exists()) file.delete();
            
            ficheroPdf = new FileOutputStream("ReporteMonitoreosRadio.pdf");
            // Se asocia el documento al OutputStream y se indica que el espaciado entre
            // lineas sera de 20. Esta llamada debe hacerse antes de abrir el documento
            PdfWriter.getInstance(documento,ficheroPdf).setInitialLeading(20);
            

            // Se abre el documento.
            documento.open();
            
            Image foto = null;
            try {
                foto = Image.getInstance("MedicionesyMedios_empresa_10946.jpg");
            } catch (BadElementException ex) {
                Logger.getLogger(Reportes.class.getName()).log(Level.SEVERE, null, ex);
            } catch (MalformedURLException ex) {
                Logger.getLogger(Reportes.class.getName()).log(Level.SEVERE, null, ex);
            } catch (IOException ex) {
                Logger.getLogger(Reportes.class.getName()).log(Level.SEVERE, null, ex);
            }
            foto.scaleToFit(70, 70);
            foto.setAlignment(Chunk.ALIGN_TOP);
            foto.setAlignment(Chunk.ALIGN_RIGHT);
            documento.add(foto);
            Paragraph p = new Paragraph("----------------------------------------- Reporte Monitoreos Radio -----------------------------------------");
            p.setAlignment(Chunk.ALIGN_CENTER);
            documento.add(p);
            documento.add(new Paragraph(" "
                    + ""
                    + ""
                    + ""
                    + ""
                    + ""
                    + ""));
//            documento.add(new Paragraph("Reporte usuario",
//                                            FontFactory.getFont("arial",   // fuente
//                                            22,                            // tamaño
//                                            Font.ITALIC,                   // estilo
//                                            BaseColor.MAGENTA)));             // color
            
            
            PdfPTable tabla = new PdfPTable(7);
            PdfPCell celda = new PdfPCell(new Paragraph("Id Archivo Audio",FontFactory.getFont("arial",10,Font.BOLD,BaseColor.BLACK)));
            
            celda.setBackgroundColor(BaseColor.LIGHT_GRAY);
            celda.setHorizontalAlignment(Element.ALIGN_CENTER);
            celda.setVerticalAlignment(Element.ALIGN_CENTER);
            tabla.addCell(celda); 
            celda = new PdfPCell(new Paragraph ("Id Emisora",FontFactory.getFont("arial",10,Font.BOLD,BaseColor.BLACK)));
         
            celda.setBackgroundColor(BaseColor.LIGHT_GRAY);
            celda.setHorizontalAlignment(Element.ALIGN_CENTER);
            celda.setVerticalAlignment(Element.ALIGN_CENTER);
            tabla.addCell(celda);
            celda = new PdfPCell(new Paragraph ("Id Marca",FontFactory.getFont("arial",10,Font.BOLD,BaseColor.BLACK)));
         
            celda.setBackgroundColor(BaseColor.LIGHT_GRAY);
            celda.setHorizontalAlignment(Element.ALIGN_CENTER);
            celda.setVerticalAlignment(Element.ALIGN_CENTER);
            tabla.addCell(celda);
            celda = new PdfPCell(new Paragraph ("Id Registro Monitoreo Audio",FontFactory.getFont("arial",10,Font.BOLD,BaseColor.BLACK)));
         
            celda.setBackgroundColor(BaseColor.LIGHT_GRAY);
            celda.setHorizontalAlignment(Element.ALIGN_CENTER);
            celda.setVerticalAlignment(Element.ALIGN_CENTER);
            tabla.addCell(celda);
            celda = new PdfPCell(new Paragraph ("Cedula Usuario",FontFactory.getFont("arial",10,Font.BOLD,BaseColor.BLACK)));
         
            celda.setBackgroundColor(BaseColor.LIGHT_GRAY);
            celda.setHorizontalAlignment(Element.ALIGN_CENTER);
            celda.setVerticalAlignment(Element.ALIGN_CENTER);
            tabla.addCell(celda);
            celda = new PdfPCell(new Paragraph ("Descripcion",FontFactory.getFont("arial",10,Font.BOLD,BaseColor.BLACK)));
         
            celda.setBackgroundColor(BaseColor.LIGHT_GRAY);
            celda.setHorizontalAlignment(Element.ALIGN_CENTER);
            celda.setVerticalAlignment(Element.ALIGN_CENTER);
            tabla.addCell(celda);
            celda = new PdfPCell(new Paragraph ("Fecha de Modificacion",FontFactory.getFont("arial",10,Font.BOLD,BaseColor.BLACK)));
            celda.setBackgroundColor(BaseColor.LIGHT_GRAY);
            celda.setHorizontalAlignment(Element.ALIGN_CENTER);
            celda.setVerticalAlignment(Element.ALIGN_CENTER);
            tabla.addCell(celda);
      
//                    tabla.addCell("Cedula");
//                    tabla.addCell("Contraseña");
//                    tabla.addCell("Correo Electronico");
//                    tabla.addCell("Fecha Nacimiento");
//                    tabla.addCell("Nombre");
//                    tabla.addCell("Telefono");
//                    tabla.addCell("User");
            for (int i = 0; i < list.size(); i++)
            {
                    Registromonitoreoaudio registromonitoreoaudio = (Registromonitoreoaudio) list.get(i);  
                    celda = new PdfPCell(new Paragraph (String.valueOf(registromonitoreoaudio.getRegistromonitoreoaudioPK().getIdArchivoAudio()),FontFactory.getFont("arial",8)));
                    
                    celda.setHorizontalAlignment(Element.ALIGN_CENTER);
                    celda.setVerticalAlignment(Element.ALIGN_CENTER);
                    tabla.addCell(celda);
                    
                    celda = new PdfPCell(new Paragraph (String.valueOf(registromonitoreoaudio.getRegistromonitoreoaudioPK().getIdEmisora()),FontFactory.getFont("arial",8)));
                    
                    celda.setHorizontalAlignment(Element.ALIGN_CENTER);
                    celda.setVerticalAlignment(Element.ALIGN_CENTER);
                    tabla.addCell(celda);
                    
                    celda = new PdfPCell(new Paragraph (String.valueOf(registromonitoreoaudio.getRegistromonitoreoaudioPK().getIdMarca()),FontFactory.getFont("arial",8)));
                    
                    celda.setHorizontalAlignment(Element.ALIGN_CENTER);
                    celda.setVerticalAlignment(Element.ALIGN_CENTER);
                    tabla.addCell(celda);
                    
                    celda = new PdfPCell(new Paragraph (String.valueOf(registromonitoreoaudio.getRegistromonitoreoaudioPK().getIdRegistroMonitoreoAudio()),FontFactory.getFont("arial",8)));
                    
                    celda.setHorizontalAlignment(Element.ALIGN_CENTER);
                    celda.setVerticalAlignment(Element.ALIGN_CENTER);
                    tabla.addCell(celda);
                    
                    celda = new PdfPCell(new Paragraph (String.valueOf(registromonitoreoaudio.getCedulaUsuario()),FontFactory.getFont("arial",8)));
                    
                    celda.setHorizontalAlignment(Element.ALIGN_CENTER);
                    celda.setVerticalAlignment(Element.ALIGN_CENTER);
                    tabla.addCell(celda);
                    
                    celda = new PdfPCell(new Paragraph (String.valueOf(registromonitoreoaudio.getDescripcion()),FontFactory.getFont("arial",8)));
                    
                    celda.setHorizontalAlignment(Element.ALIGN_CENTER);
                    celda.setVerticalAlignment(Element.ALIGN_CENTER);
                    tabla.addCell(celda);
                    
                    celda = new PdfPCell(new Paragraph (String.valueOf(registromonitoreoaudio.getFechaDeModificacion()),FontFactory.getFont("arial",8)));
                    
                    celda.setHorizontalAlignment(Element.ALIGN_CENTER);
                    celda.setVerticalAlignment(Element.ALIGN_CENTER);
                    tabla.addCell(celda);
                    
//                    tabla.addCell(String.valueOf(usuario.getCedula()));
//                    tabla.addCell(usuario.getContraseña());
//                    tabla.addCell(usuario.getCorreoElectronico());
//                    tabla.addCell(String.valueOf(usuario.getFechaDeNacimiento()));
//                    tabla.addCell(usuario.getNombre());
//                    tabla.addCell(String.valueOf(usuario.getTelefono()));
//                    tabla.addCell(usuario.getUser());
            }
            documento.add(tabla);
            documento.close();
        } catch (DocumentException ex) {
            Logger.getLogger(Reportes.class.getName()).log(Level.SEVERE, null, ex);
        } catch (FileNotFoundException ex) {
            Logger.getLogger(Reportes.class.getName()).log(Level.SEVERE, null, ex);
        } 
}

public void reporteMonVideo(List list){
    FileOutputStream ficheroPdf = null;
        try {
            Document documento = new Document();
            
            File file = new  File("ReporteMonitoreosVideo.pdf");
            if (file.exists()) file.delete();
            
            ficheroPdf = new FileOutputStream("ReporteMonitoreosVideo.pdf");
            // Se asocia el documento al OutputStream y se indica que el espaciado entre
            // lineas sera de 20. Esta llamada debe hacerse antes de abrir el documento
            PdfWriter.getInstance(documento,ficheroPdf).setInitialLeading(20);
            

            // Se abre el documento.
            documento.open();
            
            Image foto = null;
            try {
                foto = Image.getInstance("MedicionesyMedios_empresa_10946.jpg");
            } catch (BadElementException ex) {
                Logger.getLogger(Reportes.class.getName()).log(Level.SEVERE, null, ex);
            } catch (MalformedURLException ex) {
                Logger.getLogger(Reportes.class.getName()).log(Level.SEVERE, null, ex);
            } catch (IOException ex) {
                Logger.getLogger(Reportes.class.getName()).log(Level.SEVERE, null, ex);
            }
            foto.scaleToFit(70, 70);
            foto.setAlignment(Chunk.ALIGN_TOP);
            foto.setAlignment(Chunk.ALIGN_RIGHT);
            documento.add(foto);
            Paragraph p = new Paragraph("----------------------------------------- Reporte Monitoreos Video -----------------------------------------");
            p.setAlignment(Chunk.ALIGN_CENTER);
            documento.add(p);
            documento.add(new Paragraph(" "
                    + ""
                    + ""
                    + ""
                    + ""
                    + ""
                    + ""));
//            documento.add(new Paragraph("Reporte usuario",
//                                            FontFactory.getFont("arial",   // fuente
//                                            22,                            // tamaño
//                                            Font.ITALIC,                   // estilo
//                                            BaseColor.MAGENTA)));             // color
            
            
            PdfPTable tabla = new PdfPTable(7);
            PdfPCell celda = new PdfPCell(new Paragraph("Id Archivo Video",FontFactory.getFont("arial",10,Font.BOLD,BaseColor.BLACK)));
            
            celda.setBackgroundColor(BaseColor.LIGHT_GRAY);
            celda.setHorizontalAlignment(Element.ALIGN_CENTER);
            celda.setVerticalAlignment(Element.ALIGN_CENTER);
            tabla.addCell(celda); 
            celda = new PdfPCell(new Paragraph ("Id Canal",FontFactory.getFont("arial",10,Font.BOLD,BaseColor.BLACK)));
         
            celda.setBackgroundColor(BaseColor.LIGHT_GRAY);
            celda.setHorizontalAlignment(Element.ALIGN_CENTER);
            celda.setVerticalAlignment(Element.ALIGN_CENTER);
            tabla.addCell(celda);
            celda = new PdfPCell(new Paragraph ("Id Marca",FontFactory.getFont("arial",10,Font.BOLD,BaseColor.BLACK)));
         
            celda.setBackgroundColor(BaseColor.LIGHT_GRAY);
            celda.setHorizontalAlignment(Element.ALIGN_CENTER);
            celda.setVerticalAlignment(Element.ALIGN_CENTER);
            tabla.addCell(celda);
            celda = new PdfPCell(new Paragraph ("Id Registro Monitoreo Video    ",FontFactory.getFont("arial",10,Font.BOLD,BaseColor.BLACK)));
         
            celda.setBackgroundColor(BaseColor.LIGHT_GRAY);
            celda.setHorizontalAlignment(Element.ALIGN_CENTER);
            celda.setVerticalAlignment(Element.ALIGN_CENTER);
            tabla.addCell(celda);
            celda = new PdfPCell(new Paragraph ("Cedula Usuario",FontFactory.getFont("arial",10,Font.BOLD,BaseColor.BLACK)));
         
            celda.setBackgroundColor(BaseColor.LIGHT_GRAY);
            celda.setHorizontalAlignment(Element.ALIGN_CENTER);
            celda.setVerticalAlignment(Element.ALIGN_CENTER);
            tabla.addCell(celda);
            celda = new PdfPCell(new Paragraph ("Descripcion",FontFactory.getFont("arial",10,Font.BOLD,BaseColor.BLACK)));
         
            celda.setBackgroundColor(BaseColor.LIGHT_GRAY);
            celda.setHorizontalAlignment(Element.ALIGN_CENTER);
            celda.setVerticalAlignment(Element.ALIGN_CENTER);
            tabla.addCell(celda);
            celda = new PdfPCell(new Paragraph ("Fecha de Modificacion",FontFactory.getFont("arial",10,Font.BOLD,BaseColor.BLACK)));
            celda.setBackgroundColor(BaseColor.LIGHT_GRAY);
            celda.setHorizontalAlignment(Element.ALIGN_CENTER);
            celda.setVerticalAlignment(Element.ALIGN_CENTER);
            tabla.addCell(celda);
      
//                    tabla.addCell("Cedula");
//                    tabla.addCell("Contraseña");
//                    tabla.addCell("Correo Electronico");
//                    tabla.addCell("Fecha Nacimiento");
//                    tabla.addCell("Nombre");
//                    tabla.addCell("Telefono");
//                    tabla.addCell("User");
            for (int i = 0; i < list.size(); i++)
            {
                    Registromonitoreovideo registromonitoreovideo = (Registromonitoreovideo) list.get(i);  
                    celda = new PdfPCell(new Paragraph (String.valueOf(registromonitoreovideo.getRegistromonitoreovideoPK().getIdArchivoVideo()),FontFactory.getFont("arial",8)));
                    
                    celda.setHorizontalAlignment(Element.ALIGN_CENTER);
                    celda.setVerticalAlignment(Element.ALIGN_CENTER);
                    tabla.addCell(celda);
                    
                    celda = new PdfPCell(new Paragraph (String.valueOf(registromonitoreovideo.getRegistromonitoreovideoPK().getIdCanal()),FontFactory.getFont("arial",8)));
                    
                    celda.setHorizontalAlignment(Element.ALIGN_CENTER);
                    celda.setVerticalAlignment(Element.ALIGN_CENTER);
                    tabla.addCell(celda);
                    
                    celda = new PdfPCell(new Paragraph (String.valueOf(registromonitoreovideo.getRegistromonitoreovideoPK().getIdMarca()),FontFactory.getFont("arial",8)));
                    
                    celda.setHorizontalAlignment(Element.ALIGN_CENTER);
                    celda.setVerticalAlignment(Element.ALIGN_CENTER);
                    tabla.addCell(celda);
                    
                    celda = new PdfPCell(new Paragraph (String.valueOf(registromonitoreovideo.getRegistromonitoreovideoPK().getIdRegistroMonitoreoVideo()),FontFactory.getFont("arial",8)));
                    
                    celda.setHorizontalAlignment(Element.ALIGN_CENTER);
                    celda.setVerticalAlignment(Element.ALIGN_CENTER);
                    tabla.addCell(celda);
                    
                    celda = new PdfPCell(new Paragraph (String.valueOf(registromonitoreovideo.getCedulaUsuario()),FontFactory.getFont("arial",8)));
                    
                    celda.setHorizontalAlignment(Element.ALIGN_CENTER);
                    celda.setVerticalAlignment(Element.ALIGN_CENTER);
                    tabla.addCell(celda);
                    
                    celda = new PdfPCell(new Paragraph (String.valueOf(registromonitoreovideo.getDescripcion()),FontFactory.getFont("arial",8)));
                    
                    celda.setHorizontalAlignment(Element.ALIGN_CENTER);
                    celda.setVerticalAlignment(Element.ALIGN_CENTER);
                    tabla.addCell(celda);
                    
                    celda = new PdfPCell(new Paragraph (String.valueOf(registromonitoreovideo.getFechaDeModificacion()),FontFactory.getFont("arial",8)));
                    
                    celda.setHorizontalAlignment(Element.ALIGN_CENTER);
                    celda.setVerticalAlignment(Element.ALIGN_CENTER);
                    tabla.addCell(celda);
                    
//                    tabla.addCell(String.valueOf(usuario.getCedula()));
//                    tabla.addCell(usuario.getContraseña());
//                    tabla.addCell(usuario.getCorreoElectronico());
//                    tabla.addCell(String.valueOf(usuario.getFechaDeNacimiento()));
//                    tabla.addCell(usuario.getNombre());
//                    tabla.addCell(String.valueOf(usuario.getTelefono()));
//                    tabla.addCell(usuario.getUser());
            }
            documento.add(tabla);
            documento.close();
        } catch (DocumentException ex) {
            Logger.getLogger(Reportes.class.getName()).log(Level.SEVERE, null, ex);
        } catch (FileNotFoundException ex) {
            Logger.getLogger(Reportes.class.getName()).log(Level.SEVERE, null, ex);
        } 
}
public void reporteMarcas(List list){
    FileOutputStream ficheroPdf = null;
        try {
            Document documento = new Document();
            
            File file = new  File("ReporteMarcas.pdf");
            if (file.exists()) file.delete();
            
            ficheroPdf = new FileOutputStream("ReporteMarcas.pdf");
            // Se asocia el documento al OutputStream y se indica que el espaciado entre
            // lineas sera de 20. Esta llamada debe hacerse antes de abrir el documento
            PdfWriter.getInstance(documento,ficheroPdf).setInitialLeading(20);
            

            // Se abre el documento.
            documento.open();
            
            Image foto = null;
            try {
                foto = Image.getInstance("MedicionesyMedios_empresa_10946.jpg");
            } catch (BadElementException ex) {
                Logger.getLogger(Reportes.class.getName()).log(Level.SEVERE, null, ex);
            } catch (MalformedURLException ex) {
                Logger.getLogger(Reportes.class.getName()).log(Level.SEVERE, null, ex);
            } catch (IOException ex) {
                Logger.getLogger(Reportes.class.getName()).log(Level.SEVERE, null, ex);
            }
            foto.scaleToFit(70, 70);
            foto.setAlignment(Chunk.ALIGN_TOP);
            foto.setAlignment(Chunk.ALIGN_RIGHT);
            documento.add(foto);
            Paragraph p = new Paragraph("----------------------------------------- Reporte Marcas -----------------------------------------");
            p.setAlignment(Chunk.ALIGN_CENTER);
            documento.add(p);
            documento.add(new Paragraph(" "
                    + ""
                    + ""
                    + ""
                    + ""
                    + ""
                    + ""));
//            documento.add(new Paragraph("Reporte usuario",
//                                            FontFactory.getFont("arial",   // fuente
//                                            22,                            // tamaño
//                                            Font.ITALIC,                   // estilo
//                                            BaseColor.MAGENTA)));             // color
            
            
            PdfPTable tabla = new PdfPTable(3);
            PdfPCell celda = new PdfPCell(new Paragraph("Id Marca",FontFactory.getFont("arial",10,Font.BOLD,BaseColor.BLACK)));
            
            celda.setBackgroundColor(BaseColor.LIGHT_GRAY);
            celda.setHorizontalAlignment(Element.ALIGN_CENTER);
            celda.setVerticalAlignment(Element.ALIGN_CENTER);
            tabla.addCell(celda); 
            celda = new PdfPCell(new Paragraph ("Nombre",FontFactory.getFont("arial",10,Font.BOLD,BaseColor.BLACK)));
         
            celda.setBackgroundColor(BaseColor.LIGHT_GRAY);
            celda.setHorizontalAlignment(Element.ALIGN_CENTER);
            celda.setVerticalAlignment(Element.ALIGN_CENTER);
            tabla.addCell(celda);
            celda = new PdfPCell(new Paragraph ("Sector",FontFactory.getFont("arial",10,Font.BOLD,BaseColor.BLACK)));
         
            celda.setBackgroundColor(BaseColor.LIGHT_GRAY);
            celda.setHorizontalAlignment(Element.ALIGN_CENTER);
            celda.setVerticalAlignment(Element.ALIGN_CENTER);
            tabla.addCell(celda);
           
            for (int i = 0; i < list.size(); i++)
            {
                    Marca marca = (Marca) list.get(i);  
                    celda = new PdfPCell(new Paragraph (String.valueOf(marca.getIdMarca()),FontFactory.getFont("arial",8)));
                    
                    celda.setHorizontalAlignment(Element.ALIGN_CENTER);
                    celda.setVerticalAlignment(Element.ALIGN_CENTER);
                    tabla.addCell(celda);
                    
                    celda = new PdfPCell(new Paragraph (marca.getNombre(),FontFactory.getFont("arial",8)));
                    
                    celda.setHorizontalAlignment(Element.ALIGN_CENTER);
                    celda.setVerticalAlignment(Element.ALIGN_CENTER);
                    tabla.addCell(celda);
                    
                    celda = new PdfPCell(new Paragraph (marca.getSector(),FontFactory.getFont("arial",8)));
                    
                    celda.setHorizontalAlignment(Element.ALIGN_CENTER);
                    celda.setVerticalAlignment(Element.ALIGN_CENTER);
                    tabla.addCell(celda);
                    
                   
            }
            documento.add(tabla);
            documento.close();
        } catch (DocumentException ex) {
            Logger.getLogger(Reportes.class.getName()).log(Level.SEVERE, null, ex);
        } catch (FileNotFoundException ex) {
            Logger.getLogger(Reportes.class.getName()).log(Level.SEVERE, null, ex);
        } 
}

public void reporteCampañas(List list){
    FileOutputStream ficheroPdf = null;
        try {
            Document documento = new Document();
            
            File file = new  File("ReporteCampañas.pdf");
            if (file.exists()) file.delete();
            
            ficheroPdf = new FileOutputStream("ReporteCampañas.pdf");
            // Se asocia el documento al OutputStream y se indica que el espaciado entre
            // lineas sera de 20. Esta llamada debe hacerse antes de abrir el documento
            PdfWriter.getInstance(documento,ficheroPdf).setInitialLeading(20);
            

            // Se abre el documento.
            documento.open();
            
            Image foto = null;
            try {
                foto = Image.getInstance("MedicionesyMedios_empresa_10946.jpg");
            } catch (BadElementException ex) {
                Logger.getLogger(Reportes.class.getName()).log(Level.SEVERE, null, ex);
            } catch (MalformedURLException ex) {
                Logger.getLogger(Reportes.class.getName()).log(Level.SEVERE, null, ex);
            } catch (IOException ex) {
                Logger.getLogger(Reportes.class.getName()).log(Level.SEVERE, null, ex);
            }
            foto.scaleToFit(70, 70);
            foto.setAlignment(Chunk.ALIGN_TOP);
            foto.setAlignment(Chunk.ALIGN_RIGHT);
            documento.add(foto);
            Paragraph p = new Paragraph("----------------------------------------- Reporte Campañas -----------------------------------------");
            p.setAlignment(Chunk.ALIGN_CENTER);
            documento.add(p);
            documento.add(new Paragraph(" "
                    + ""
                    + ""
                    + ""
                    + ""
                    + ""
                    + ""));
//            documento.add(new Paragraph("Reporte usuario",
//                                            FontFactory.getFont("arial",   // fuente
//                                            22,                            // tamaño
//                                            Font.ITALIC,                   // estilo
//                                            BaseColor.MAGENTA)));             // color
            
            
            PdfPTable tabla = new PdfPTable(5);
            PdfPCell celda = new PdfPCell(new Paragraph("Id Campaña",FontFactory.getFont("arial",10,Font.BOLD,BaseColor.BLACK)));
            
            celda.setBackgroundColor(BaseColor.LIGHT_GRAY);
            celda.setHorizontalAlignment(Element.ALIGN_CENTER);
            celda.setVerticalAlignment(Element.ALIGN_CENTER);
            tabla.addCell(celda); 
            celda = new PdfPCell(new Paragraph ("Id Marca",FontFactory.getFont("arial",10,Font.BOLD,BaseColor.BLACK)));
         
            celda.setBackgroundColor(BaseColor.LIGHT_GRAY);
            celda.setHorizontalAlignment(Element.ALIGN_CENTER);
            celda.setVerticalAlignment(Element.ALIGN_CENTER);
            tabla.addCell(celda);
            celda = new PdfPCell(new Paragraph ("Descripcion",FontFactory.getFont("arial",10,Font.BOLD,BaseColor.BLACK)));
         
            celda.setBackgroundColor(BaseColor.LIGHT_GRAY);
            celda.setHorizontalAlignment(Element.ALIGN_CENTER);
            celda.setVerticalAlignment(Element.ALIGN_CENTER);
            tabla.addCell(celda);
            celda = new PdfPCell(new Paragraph ("Fecha Inicio",FontFactory.getFont("arial",10,Font.BOLD,BaseColor.BLACK)));
         
            celda.setBackgroundColor(BaseColor.LIGHT_GRAY);
            celda.setHorizontalAlignment(Element.ALIGN_CENTER);
            celda.setVerticalAlignment(Element.ALIGN_CENTER);
            tabla.addCell(celda);
            celda = new PdfPCell(new Paragraph ("Nombre",FontFactory.getFont("arial",10,Font.BOLD,BaseColor.BLACK)));
         
            celda.setBackgroundColor(BaseColor.LIGHT_GRAY);
            celda.setHorizontalAlignment(Element.ALIGN_CENTER);
            celda.setVerticalAlignment(Element.ALIGN_CENTER);
            tabla.addCell(celda);
            for (int i = 0; i < list.size(); i++)
            {
                    Campaña campaña = (Campaña) list.get(i);  
                    celda = new PdfPCell(new Paragraph (String.valueOf(campaña.getCampañaPK().getIdCampaña()),FontFactory.getFont("arial",8)));
                    
                    celda.setHorizontalAlignment(Element.ALIGN_CENTER);
                    celda.setVerticalAlignment(Element.ALIGN_CENTER);
                    tabla.addCell(celda);
                    
                    celda = new PdfPCell(new Paragraph (String.valueOf(campaña.getMarca().getIdMarca()),FontFactory.getFont("arial",8)));
                    
                    celda.setHorizontalAlignment(Element.ALIGN_CENTER);
                    celda.setVerticalAlignment(Element.ALIGN_CENTER);
                    tabla.addCell(celda);
                    
                    celda = new PdfPCell(new Paragraph (campaña.getDescripcion(),FontFactory.getFont("arial",8)));
                    
                    celda.setHorizontalAlignment(Element.ALIGN_CENTER);
                    celda.setVerticalAlignment(Element.ALIGN_CENTER);
                    tabla.addCell(celda);
                    
                    celda = new PdfPCell(new Paragraph (String.valueOf(campaña.getFechaInicio()),FontFactory.getFont("arial",8)));
                    
                    celda.setHorizontalAlignment(Element.ALIGN_CENTER);
                    celda.setVerticalAlignment(Element.ALIGN_CENTER);
                    tabla.addCell(celda);
                    
                    celda = new PdfPCell(new Paragraph (campaña.getNombre(),FontFactory.getFont("arial",8)));
                    
                    celda.setHorizontalAlignment(Element.ALIGN_CENTER);
                    celda.setVerticalAlignment(Element.ALIGN_CENTER);
                    tabla.addCell(celda);
                    
            }
            documento.add(tabla);
            documento.close();
        } catch (DocumentException ex) {
            Logger.getLogger(Reportes.class.getName()).log(Level.SEVERE, null, ex);
        } catch (FileNotFoundException ex) {
            Logger.getLogger(Reportes.class.getName()).log(Level.SEVERE, null, ex);
        } 
}

public void reporteEmisoras(List list){
    FileOutputStream ficheroPdf = null;
        try {
            Document documento = new Document();
            
            File file = new  File("ReporteEmisoras.pdf");
            if (file.exists()) file.delete();
            
            ficheroPdf = new FileOutputStream("ReporteEmisoras.pdf");
            // Se asocia el documento al OutputStream y se indica que el espaciado entre
            // lineas sera de 20. Esta llamada debe hacerse antes de abrir el documento
            PdfWriter.getInstance(documento,ficheroPdf).setInitialLeading(20);
            

            // Se abre el documento.
            documento.open();
            
            Image foto = null;
            try {
                foto = Image.getInstance("MedicionesyMedios_empresa_10946.jpg");
            } catch (BadElementException ex) {
                Logger.getLogger(Reportes.class.getName()).log(Level.SEVERE, null, ex);
            } catch (MalformedURLException ex) {
                Logger.getLogger(Reportes.class.getName()).log(Level.SEVERE, null, ex);
            } catch (IOException ex) {
                Logger.getLogger(Reportes.class.getName()).log(Level.SEVERE, null, ex);
            }
            foto.scaleToFit(70, 70);
            foto.setAlignment(Chunk.ALIGN_TOP);
            foto.setAlignment(Chunk.ALIGN_RIGHT);
            documento.add(foto);
            Paragraph p = new Paragraph("----------------------------------------- Reporte Emisoras -----------------------------------------");
            p.setAlignment(Chunk.ALIGN_CENTER);
            documento.add(p);
            documento.add(new Paragraph(" "
                    + ""
                    + ""
                    + ""
                    + ""
                    + ""
                    + ""));
//            documento.add(new Paragraph("Reporte usuario",
//                                            FontFactory.getFont("arial",   // fuente
//                                            22,                            // tamaño
//                                            Font.ITALIC,                   // estilo
//                                            BaseColor.MAGENTA)));             // color
            
            
            PdfPTable tabla = new PdfPTable(4);
            PdfPCell celda = new PdfPCell(new Paragraph("Id Emisora",FontFactory.getFont("arial",10,Font.BOLD,BaseColor.BLACK)));
            
            celda.setBackgroundColor(BaseColor.LIGHT_GRAY);
            celda.setHorizontalAlignment(Element.ALIGN_CENTER);
            celda.setVerticalAlignment(Element.ALIGN_CENTER);
            tabla.addCell(celda); 
            celda = new PdfPCell(new Paragraph ("Ciudad",FontFactory.getFont("arial",10,Font.BOLD,BaseColor.BLACK)));
         
            celda.setBackgroundColor(BaseColor.LIGHT_GRAY);
            celda.setHorizontalAlignment(Element.ALIGN_CENTER);
            celda.setVerticalAlignment(Element.ALIGN_CENTER);
            tabla.addCell(celda);
            celda = new PdfPCell(new Paragraph ("Dial",FontFactory.getFont("arial",10,Font.BOLD,BaseColor.BLACK)));
         
            celda.setBackgroundColor(BaseColor.LIGHT_GRAY);
            celda.setHorizontalAlignment(Element.ALIGN_CENTER);
            celda.setVerticalAlignment(Element.ALIGN_CENTER);
            tabla.addCell(celda);
            celda = new PdfPCell(new Paragraph ("Nombre",FontFactory.getFont("arial",10,Font.BOLD,BaseColor.BLACK)));
         
            celda.setBackgroundColor(BaseColor.LIGHT_GRAY);
            celda.setHorizontalAlignment(Element.ALIGN_CENTER);
            celda.setVerticalAlignment(Element.ALIGN_CENTER);
            tabla.addCell(celda);
            
            for (int i = 0; i < list.size(); i++)
            {
                    Emisora emisora = (Emisora) list.get(i);  
                    celda = new PdfPCell(new Paragraph (String.valueOf(emisora.getIdEmisora()),FontFactory.getFont("arial",8)));
                    
                    celda.setHorizontalAlignment(Element.ALIGN_CENTER);
                    celda.setVerticalAlignment(Element.ALIGN_CENTER);
                    tabla.addCell(celda);
                    
                    celda = new PdfPCell(new Paragraph (String.valueOf(emisora.getCiudad()),FontFactory.getFont("arial",8)));
                    
                    celda.setHorizontalAlignment(Element.ALIGN_CENTER);
                    celda.setVerticalAlignment(Element.ALIGN_CENTER);
                    tabla.addCell(celda);
                    
                    celda = new PdfPCell(new Paragraph (String.valueOf(emisora.getCiudad()),FontFactory.getFont("arial",8)));
                    
                    celda.setHorizontalAlignment(Element.ALIGN_CENTER);
                    celda.setVerticalAlignment(Element.ALIGN_CENTER);
                    tabla.addCell(celda);
                    
                    celda = new PdfPCell(new Paragraph (String.valueOf(emisora.getDial()),FontFactory.getFont("arial",8)));
                    
                    celda.setHorizontalAlignment(Element.ALIGN_CENTER);
                    celda.setVerticalAlignment(Element.ALIGN_CENTER);
                    tabla.addCell(celda);
                    
                    celda = new PdfPCell(new Paragraph (emisora.getNombre(),FontFactory.getFont("arial",8)));
                    
                    celda.setHorizontalAlignment(Element.ALIGN_CENTER);
                    celda.setVerticalAlignment(Element.ALIGN_CENTER);
                    tabla.addCell(celda);
                    
                    
            }
            documento.add(tabla);
            documento.close();
        } catch (DocumentException ex) {
            Logger.getLogger(Reportes.class.getName()).log(Level.SEVERE, null, ex);
        } catch (FileNotFoundException ex) {
            Logger.getLogger(Reportes.class.getName()).log(Level.SEVERE, null, ex);
        } 
}

public void reporteCanales(List list){
    FileOutputStream ficheroPdf = null;
        try {
            Document documento = new Document();
            
            File file = new  File("ReporteCanales.pdf");
            if (file.exists()) file.delete();
            
            ficheroPdf = new FileOutputStream("ReporteCanales.pdf");
            // Se asocia el documento al OutputStream y se indica que el espaciado entre
            // lineas sera de 20. Esta llamada debe hacerse antes de abrir el documento
            PdfWriter.getInstance(documento,ficheroPdf).setInitialLeading(20);
            

            // Se abre el documento.
            documento.open();
            
            Image foto = null;
            try {
                foto = Image.getInstance("MedicionesyMedios_empresa_10946.jpg");
            } catch (BadElementException ex) {
                Logger.getLogger(Reportes.class.getName()).log(Level.SEVERE, null, ex);
            } catch (MalformedURLException ex) {
                Logger.getLogger(Reportes.class.getName()).log(Level.SEVERE, null, ex);
            } catch (IOException ex) {
                Logger.getLogger(Reportes.class.getName()).log(Level.SEVERE, null, ex);
            }
            foto.scaleToFit(70, 70);
            foto.setAlignment(Chunk.ALIGN_TOP);
            foto.setAlignment(Chunk.ALIGN_RIGHT);
            documento.add(foto);
            Paragraph p = new Paragraph("----------------------------------------- Reporte Canales -----------------------------------------");
            p.setAlignment(Chunk.ALIGN_CENTER);
            documento.add(p);
            documento.add(new Paragraph(" "
                    + ""
                    + ""
                    + ""
                    + ""
                    + ""
                    + ""));
//            documento.add(new Paragraph("Reporte usuario",
//                                            FontFactory.getFont("arial",   // fuente
//                                            22,                            // tamaño
//                                            Font.ITALIC,                   // estilo
//                                            BaseColor.MAGENTA)));             // color
            
            
            PdfPTable tabla = new PdfPTable(3);
            PdfPCell celda = new PdfPCell(new Paragraph("Id Canal",FontFactory.getFont("arial",10,Font.BOLD,BaseColor.BLACK)));
            
            celda.setBackgroundColor(BaseColor.LIGHT_GRAY);
            celda.setHorizontalAlignment(Element.ALIGN_CENTER);
            celda.setVerticalAlignment(Element.ALIGN_CENTER);
            tabla.addCell(celda); 
            celda = new PdfPCell(new Paragraph ("Nacional",FontFactory.getFont("arial",10,Font.BOLD,BaseColor.BLACK)));
         
            celda.setBackgroundColor(BaseColor.LIGHT_GRAY);
            celda.setHorizontalAlignment(Element.ALIGN_CENTER);
            celda.setVerticalAlignment(Element.ALIGN_CENTER);
            tabla.addCell(celda);
            celda = new PdfPCell(new Paragraph ("Nombre",FontFactory.getFont("arial",10,Font.BOLD,BaseColor.BLACK)));
         
            celda.setBackgroundColor(BaseColor.LIGHT_GRAY);
            celda.setHorizontalAlignment(Element.ALIGN_CENTER);
            celda.setVerticalAlignment(Element.ALIGN_CENTER);
            tabla.addCell(celda);
           
            for (int i = 0; i < list.size(); i++)
            {
                    Canal canal = (Canal) list.get(i);  
                    celda = new PdfPCell(new Paragraph (String.valueOf(canal.getIdCanal()),FontFactory.getFont("arial",8)));
                    
                    celda.setHorizontalAlignment(Element.ALIGN_CENTER);
                    celda.setVerticalAlignment(Element.ALIGN_CENTER);
                    tabla.addCell(celda);
                    
                    celda = new PdfPCell(new Paragraph (String.valueOf(canal.getNacional()),FontFactory.getFont("arial",8)));
                    
                    celda.setHorizontalAlignment(Element.ALIGN_CENTER);
                    celda.setVerticalAlignment(Element.ALIGN_CENTER);
                    tabla.addCell(celda);
                    
                    celda = new PdfPCell(new Paragraph (canal.getNombre(),FontFactory.getFont("arial",8)));
                    
                    celda.setHorizontalAlignment(Element.ALIGN_CENTER);
                    celda.setVerticalAlignment(Element.ALIGN_CENTER);
                    tabla.addCell(celda);
                    
                   
            }
            documento.add(tabla);
            documento.close();
        } catch (DocumentException ex) {
            Logger.getLogger(Reportes.class.getName()).log(Level.SEVERE, null, ex);
        } catch (FileNotFoundException ex) {
            Logger.getLogger(Reportes.class.getName()).log(Level.SEVERE, null, ex);
        } 
}




}
